package com.bosssoft.boss_exam_core.util.common;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/***
 * @Author lys(cherish)
 * @Description 日期处理工具
 * @Date  2019/2/26
 **/
public class DateUtil {
    /**
     * 日期转化为cron表达式
     * @param date
     * @return
     */
    public static String getCron(Date  date){
        String dateFormat="ss mm HH dd MM ? yyyy";
        return  DateUtil.fmtDateToStr(date, dateFormat);
    }

    /**
     * cron表达式转为日期
     * @param cron
     * @return
     */
    public static Date getCronToDate(String cron) {
        String dateFormat="ss mm HH dd MM ? yyyy";
        SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
        Date date = null;
        try {
            date = sdf.parse(cron);
        } catch (Exception e) {
            return null;
        }
        return date;
    }

    /**
     * Description:格式化日期,String字符串转化为Date
     * @param date
     * @param dtFormat 例如:yyyy-MM-dd HH:mm:ss yyyyMMdd
     * @return
     */
    public static String fmtDateToStr(Date date, String dtFormat) {
        if (date == null)
            return "";
        try {
            SimpleDateFormat dateFormat = new SimpleDateFormat(dtFormat);
            return dateFormat.format(date);
        } catch (Exception e) {
            e.printStackTrace();
            return "";
        }
    }


    // make by cherish
    /**
     * 日期字符串装java date对象
     * @param dateStr 日期字符串
     * @return java date 对象
     */
    public static Date fmtStr2Date(String dateStr){
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date =null;
        try {
           date=sdf.parse(dateStr);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

    /**
     * date对象装字符串
     * @param date java date对象
     * @return 日期字符串
     */
    public static String fmtDate2Str(  Date date){
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dateStr=sdf.format(date);
        return dateStr;
    }

    /**
     * 获取当天的作业目录
     * @return
     */
    public static String getTodayDir(Date date){
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy_MM_dd");
        String todayDir=sdf.format(date);
        return todayDir;
    }

}
